'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller, jwt } = app;
  // 家
  router.get('/', controller.home.index);
  //  获取预约申请数、实验室数量、动态数量、用户数量
  router.get('/count', controller.home.getCount);
  // 登录
  router.post('/login', controller.user.login)
  // 注册
  router.post('/register', controller.user.register)

  // 分页获取实验室 不一定要这个
  router.get('/laboratory/getByPage', jwt, controller.laboratory.getLabPage)
  // 检查账号的唯一性
  router.get('/checkoutAccountOnly', controller.user.checkoutAccountOnly)

// 123
  // 用户模块
  // 获取用户全部信息
  router.get('/user/getUserInfo', jwt, controller.user.getUserInfo)
  // 获取用户的实验室收藏列表
  router.get('/user/getUserCollect', controller.user.getUserCollect)
  // 用户密码重置
  router.post('/user/resetPassword', jwt, controller.user.resetPassword)
  // 个人信息修改
  router.post('/user/updateUserInfo', controller.user.updateUserInfo)
  // 个人密码修改
  router.post('/user/updatePassword',controller.user.updatePassword)
  //  获取用户预约列表
  router.get('/user/getUserRes', controller.user.getUserRes)
  //  条件获取用户
  router.get('/user/getUsers', controller.user.getUsers)
  //  条件查询出基础用户数据（包括未注册、已注册）
  router.get('/user/getBaseUsers', controller.user.getBaseUsers)
  //  根据id删除用户
 router.delete('/user/deleteUser', controller.user.deleteUser)
//  单个添加基础用户
router.post('/user/addBaseUsers',controller.user.addBaseUsers)


  // 实验室模块
  // 实验室收藏 为了增强用户体验感
  router.post('/lab/collect-lab', jwt, controller.laboratory.collectLab)
  // 取消收藏
  router.delete('/lab/collect-lab-del', controller.laboratory.collectLabDel)
  // 新建实验室
  router.post('/lab/create-lab',controller.laboratory.createLab)
  // 更新实验室 为什么不写一起呢，因为逻辑太复杂，需要分开写
  router.post('/lab/update-lab', controller.laboratory.updateLab)
  // 删除实验室
  router.delete('/lab/del-lab', controller.laboratory.delLab)
  // 实验室类别新增或修改
  router.post('/lab/type-saveOrUpdate', controller.laboratory.saveOrUpdateType)
  // 检查实验室类别的唯一性
  router.post('/lab/check-typeOnly', controller.laboratory.checkTypeOnly)
  // 删除实验室类别
  router.delete('/lab/type-del',  controller.laboratory.deleteType)
  // 获取实验室详情
  router.get('/lab/detail-lab', controller.laboratory.getLabDetail)
  // 创建实验室当日预约记录
  router.post('/lab/create-dayTime', controller.laboratory.createDayTime)
  // 条件查询获取实验室列表
  router.get('/lab/list-lab', controller.laboratory.getLabList)
  //  获取所有的实验室类别
  router.get('/lab/lab-type-all', controller.laboratory.getAllType)

  // 预约模块
  // 发起预约
  router.post('/res/create-res', controller.reservation.createRes)
  // 预约审核
  router.post('/res/check-res', controller.reservation.checkRes)
  // 判断时间冲突
  router.get('/res/noConflict', controller.reservation.noConflict)
  // 判断同一类型实验室，同一种角色预约（仅判断个人预约就好），是否有未约满的，
  router.get('/res/canIRes', controller.reservation.canIRes)
  // 取消预约
  router.get('/res/cancle-res', controller.reservation.cancleRes)
  // 预约详情
  router.get('/res/detail-res', controller.reservation.getResDetail)
  // 条件获取预约列表
  router.get('/res/res-list', controller.reservation.getResList)

  // 上传模块
  // 图片上传接口
  router.post('/imgUpload', controller.upload.imgUpload)
  // excel导入mysql
  router.post('/ExcelUpload', controller.upload.ExcelUpload)

  // 公告动态模块
  // 发布或更新
  router.post('/trends/send', controller.trends.sendTrends)
  // 删除
  router.delete('/trends/delete', controller.trends.deleteTrends)
  // 获取详情
  router.get('/trends/detail', controller.trends.trendsDetail)
  // 获取列表
  router.get('/trends/list', controller.trends.trendsList)
  //  动态阅览量增加
  router.post('/trends/readsAdd', controller.trends.readsAdd)



};
